package com.iplant.aps.service.po.wms;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

/**
 * 线边库库存管理
 *
 * @author YouWang·Peng
 * 2022-3-28 10:04:25
 */
public class WMSLineEdgeLibrary implements Serializable {

    /**
     * 序列号
     */
    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    public int ID = 0;
    /**
     * 物料ID
     */
    public int MaterialID = 0;
    /**
     * 物料名称
     */
    public String MaterialName = "";
    /**
     * 物料编号
     */
    public String MaterialNo = "";
    /**
     * 库存
     */
    public double FQTY = 0.0;
    /**
     * 单位ID
     */
    public int UnitID = 0;
    /**
     * 单位名称
     */
    public String UnitText = "";
    /**
     * 最小包装
     */
    public double MinPacking = 0.0;
    /**
     * 创建时刻
     */
    public Calendar CreateTime = Calendar.getInstance();
    public String CreateTimeText = "";
    /**
     * 编辑时刻
     */
    public Calendar EditTime = Calendar.getInstance();
    public String EditTimeText = "";

    /**
     * 库存总量
     */
    public double Total = 0.0;

    /**
     * WMS批次号
     */
    public String BatchNumber = "";
    /**
     * 库存地点
     */
    public String Stock = "";
    /**
     * 供应商
     */
    public String Supplier = "";
    /**
     * 生产厂家
     */
    public String ProductName = "";
    /**
     * 序列号/铁总唯一码
     */
    public String SerialNo = "";
    /**
     * 生产日期
     */
    public Calendar ProductTime = Calendar.getInstance();

    /**
     * 工区
     */
    public int AreaID = 0;
    public String AreaName = "";

    /**
     * 1反冲料 2批量偶换件
     */
    public int SourceType = 0;
    /**
     * 来源配送单ID集合
     */
    public String SourceIDs = "";

    /**
     * 定额
     */
    public double BOMNumber = 0;
    /**
     * 项目库存号
     */
    public String ProjectStockNo = "";

    // 辅助属性
    /**
     * 子项列表
     */
    public List<WMSLineEdgeLibraryItem> ItemList = new ArrayList<>();

    public WMSLineEdgeLibrary() {
        super();
    }

    public WMSLineEdgeLibrary(int iD, int materialID, String materialName, String materialNo, double fQTY, int unitID,
                              String unitText, double minPacking, Calendar createTime, String createTimeText,
                              Calendar editTime,
                              String editTimeText, double total, String batchNumber, String stock, String supplier,
                              String productName,
                              String serialNo, Calendar productTime) {
        super();
        ID = iD;
        MaterialID = materialID;
        MaterialName = materialName;
        MaterialNo = materialNo;
        FQTY = fQTY;
        UnitID = unitID;
        UnitText = unitText;
        MinPacking = minPacking;
        CreateTime = createTime;
        CreateTimeText = createTimeText;
        EditTime = editTime;
        EditTimeText = editTimeText;
        Total = total;

        BatchNumber = batchNumber;
        Stock = stock;
        Supplier = supplier;
        ProductName = productName;
        SerialNo = serialNo;
        ProductTime = productTime;
    }

    public int getID() {
        return ID;
    }

    public int getMaterialID() {
        return MaterialID;
    }

    public String getMaterialName() {
        return MaterialName;
    }

    public String getMaterialNo() {
        return MaterialNo;
    }

    public double getFQTY() {
        return FQTY;
    }

    public Calendar getCreateTime() {
        return CreateTime;
    }

    public Calendar getEditTime() {
        return EditTime;
    }

    public void setID(int iD) {
        ID = iD;
    }

    public void setMaterialID(int materialID) {
        MaterialID = materialID;
    }

    public void setMaterialName(String materialName) {
        MaterialName = materialName;
    }

    public void setMaterialNo(String materialNo) {
        MaterialNo = materialNo;
    }

    public void setFQTY(double fQTY) {
        FQTY = fQTY;
    }

    public void setCreateTime(Calendar createTime) {
        CreateTime = createTime;
    }

    public void setEditTime(Calendar editTime) {
        EditTime = editTime;
    }

    public int getUnitID() {
        return UnitID;
    }

    public String getUnitText() {
        return UnitText;
    }

    public double getMinPacking() {
        return MinPacking;
    }

    public String getCreateTimeText() {
        return CreateTimeText;
    }

    public String getEditTimeText() {
        return EditTimeText;
    }

    public void setUnitID(int unitID) {
        UnitID = unitID;
    }

    public void setUnitText(String unitText) {
        UnitText = unitText;
    }

    public void setMinPacking(double minPacking) {
        MinPacking = minPacking;
    }

    public void setCreateTimeText(String createTimeText) {
        CreateTimeText = createTimeText;
    }

    public void setEditTimeText(String editTimeText) {
        EditTimeText = editTimeText;
    }

    public double getTotal() {
        return Total;
    }

    public void setTotal(double total) {
        Total = total;
    }

    public List<WMSLineEdgeLibraryItem> getItemList() {
        return ItemList;
    }

    public void setItemList(List<WMSLineEdgeLibraryItem> itemList) {
        ItemList = itemList;
    }

    public String getBatchNumber() {
        return BatchNumber;
    }

    public String getStock() {
        return Stock;
    }

    public String getSupplier() {
        return Supplier;
    }

    public String getProductName() {
        return ProductName;
    }

    public String getSerialNo() {
        return SerialNo;
    }

    public Calendar getProductTime() {
        return ProductTime;
    }

    public void setBatchNumber(String batchNumber) {
        BatchNumber = batchNumber;
    }

    public void setStock(String stock) {
        Stock = stock;
    }

    public void setSupplier(String supplier) {
        Supplier = supplier;
    }

    public void setProductName(String productName) {
        ProductName = productName;
    }

    public void setSerialNo(String serialNo) {
        SerialNo = serialNo;
    }

    public void setProductTime(Calendar productTime) {
        ProductTime = productTime;
    }

    public int getAreaID() {
        return AreaID;
    }

    public void setAreaID(int areaID) {
        AreaID = areaID;
    }

    public String getAreaName() {
        return AreaName;
    }

    public void setAreaName(String areaName) {
        AreaName = areaName;
    }

    public int getSourceType() {
        return SourceType;
    }

    public void setSourceType(int sourceType) {
        SourceType = sourceType;
    }

    public double getBOMNumber() {
        return BOMNumber;
    }

    public void setBOMNumber(double BOMNumber) {
        this.BOMNumber = BOMNumber;
    }

    public String getProjectStockNo() {
        return ProjectStockNo;
    }

    public void setProjectStockNo(String projectStockNo) {
        ProjectStockNo = projectStockNo;
    }

    public String getSourceIDs() {
        return SourceIDs;
    }

    public void setSourceIDs(String sourceIDs) {
        SourceIDs = sourceIDs;
    }
}
